package step1_homework4_03;

import java.io.File;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class CopyFolders {

        public static void Copy(String path1,String path2){             //复制文件夹的方法，也就是创建相应的目录
            File file1=new File(path1);
            File file2=new File(path2);
            if (!file1.exists()){                                      //判断要复制的目录是否存在
                System.out.println("目录不存在！");
                return;
            }

            if (!file2.exists()) {
                file2.mkdirs();
                System.out.println(file1 + "  复制成功");
            }


            //创建一个线程池
            ExecutorService service= Executors.newFixedThreadPool(10);

            for (File f :file1.listFiles()){   //遍历需要复制的目录下的文件，如果是文件则执行复制操作
                                              //反之进行文件夹的创建操作

                service.submit(() -> {
                    if (f.isFile()){
                        CopyFile.Copy(f.getAbsolutePath(), file2.getAbsolutePath() + "/" + f.getName());
                        System.out.println(f.getName()+   "复制成功");
                    }else {
                        CopyFolders.Copy(f.getAbsolutePath(), file2.getAbsolutePath() + "/" + f.getName());
                    }
                });

            }

            service.shutdown();

        }
}
